import { isBlank } from '@/util'

/**
 * string 类型必填项校验
 * @param { string } message 校验提示说明文字
 * @return { object }
 */
export function ruleRequired (message, trigger = '') {
  return {
    required: true,
    message: message,
    trigger,
    validator: (_rule, value, callback) => {
      if (isBlank(value)) {
        return callback(new Error(message))
      }
      callback()
    }
  }
}

/**
 * 最大长度限制校验
 * @param { number } max
 * @param { String } label
 * @return { object }
 */
export function ruleMaxLength (max, label = '输入字符') {
  return {
    max,
    message: `${label}不能超过${max}位`,
    trigger: ''
  }
}

/**
 * 最小长度限制校验
 * @param { number } min
 * @param { String } label
 * @return { object }
 */
export function ruleMinLength (min, label = '请输入') {
  return {
    min,
    message: `${label}至少${min}位字符`,
    trigger: ''
  }
}

// 手机号格式校验
export const RULE_PHONE = {
  pattern: /^1[3456789]\d{9}$/,
  message: '输入手机号格式不对，11位且13-19开头',
  trigger: ''
}
